1. Field of the Invention
The present invention relates to a split control system for a page/page group in a data processing system, and more particularly, it relates to a split control system for a page or page group in a data processing system which manages data (below, a record) based on a storage structure employing a non-dense B-tree cluster structure. According to the present invention, it is possible to effectively balance an overhead time of a split process so that it is possible to improve a response time and throughput in a transaction process in an entire data processing system.
2. Description of the Related Art
A non-dense B-tree cluster structure is already known as one kind of storage structure in a data base system. The term "non-dense" or "dense" is popular in this field. Briefly, the term "non-dense" means that a maximum/minimum key value of one representative record in a page is shown in an index portion, while, on the contrary, the term "dense" means that a key value is provided for every pointer of the record in the index portion. Further, the term "B-tree" is also popular in this field, and means that the storage structure of a data base has a tree-shaped structure consisting of an index portion and a data portion. The present invention relates to a split control for a page/page group in the "non-dense" and "B-tree cluster structure".
As is known, the term "page" is a unit of storage in a data base, and the terms "page group" and "upper page group" are also units of storage in a data base. In this storage structure of a data base, when a user intends to insert a desired record into a page at an insertion stage, it is necessary to split the page into a plurality of pages when a page into which the record is to be inserted (below, an object page) is filled with other records, i.e., there is no vacant space in the object page. The same split process as above is also required for a page group when an object page group is filled with other data.
However, a large amount of time is required for the above split process for the page or the page group. Particularly, this has a negative influence on the response time of the transaction process during an on-line operation. Accordingly, it is necessary to effectively perform the split process for a page or page group to solve the above problems.
For example, a B-tree structure is described in the following document as a representative storage structure. This structure has an index portion for each page and sequentially retrieves a desired record in accordance with the index. The B-tree structure always maintains the tree-structure even if the page/page group is split.
(reference document): PA1 a data base including an index portion and a data portion; the index portion formed by three layers consisting of the B-tree structure having at least one upper page group index, a plurality of page group indexes each operatively connected to the upper page group index, and a plurality of page indexes each operatively connected to corresponding page group index for managing key values of the records; and the data portion formed by a plurality of upper page groups each operatively connected to a corresponding page group index, and an upper page group used as an overflow area; PA1 a record insertion unit operatively connected to the data base for inserting the records into the page/page group by using the overflow area in a transaction process, and performing a pre-split process for the page/page group into a further page/page group by also using the overflow area when there is no vacant space for insertion into the page/page group; and PA1 a Demon processing unit operatively connected to the data base and operated asynchronously with the transaction process for retrieving a state of use of the overflow area, performing a normal split process for the page/page group when the overflow area is in use, and a moving a split page/page group from the overflow area to the page/page group; PA1 wherein a timing of a normal split process in the B-tree structure is temporarily delayed by using the overflow area so that it is possible to effectively balance an overhead time of the split process and to improve a response time in the transaction process. PA1 a page split unit for splitting a page when the page is filled with records; PA1 a page group split unit for splitting a page group when the page group is filled with the records; PA1 an upper page group split unit for splitting an upper page group when the upper page group is filled with the records; PA1 an index unit for accessing the index portion; and PA1 a split timing decision unit for determining the timing of the normal split process.
James Martin, "Computer Data-Base Organization, 2nd edition", 1977, 1975 by Prentice-Hall, Inc. Englewood Cliffs, N.J., Part II Physical Organization, 20 Indexed Sequential Organization.